package com.yfp.operation.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yfp.operation.domain.OrderDetailDO;
import com.yfp.operation.domain.dto.OrderDetailDTO;
import com.yfp.operation.domain.vo.OrderDetailVO;
import com.yfp.operation.domain.vo.OrderInfoVO;

import java.util.List;

/**
 *
 * @description 针对表【order_detail】的数据库操作Service
 * @createDate 2024-04-19 16:44:44
 */
public interface OrderDetailService extends IService<OrderDetailDO> {

    /**
     * 根据订单id获取订单详情
     *
     * @param orderId
     * @return
     */
    List<OrderInfoVO> getByOrderId(String orderId);

    /**
     * 根据订单id集合获取订单详情
     *
     * @param orderIds
     * @return
     */
    List<OrderDetailDO> listByOrderIds(List<String> orderIds);

    /**
     * 根据订单详情id集合获取订单详情
     *
     * @param orderDetailIds
     * @return
     */
    List<OrderDetailDO> listByOrderDetailIds(List<String> orderDetailIds);

    List<OrderDetailVO> getDetail(String orderSn);

    /**
     * 获取今日正在制作中的订单详情，workOrder为空
     * @return
     */
    List<OrderDetailDO> listTodayInTheMakingWorkOrderIsNull();

    /**
     * 获取今日的订单详情，workOrder为空
     *
     * @return
     */
    List<OrderDetailDTO> listTodayWorkOrderIsNull();

    /**
     * 查询订单详情
     * @param orderDetailId
     * @return
     */
    OrderDetailDO findById(String orderDetailId);

    /**
     * 修改订单状态
     * @param orderId
     * @param status
     */
    void editStatusByOrderId(String orderId, String status);
}
